package prtpv;

import java.util.ArrayList;
import java.util.List;

public class CompositeDescuento extends Descuento {

    private List<Descuento> listaDescuentos = new ArrayList<Descuento>();

    // Aplica todos los descuentos de listaDescuentos a la venta
    @Override
    Float obtenerDescuento(VentaProxy venta) {
        Float descuento = 0F;
        for (int i = 0; i < listaDescuentos.size(); i++) {
            descuento += listaDescuentos.get(i).obtenerDescuento(venta);
        }
        return descuento;

    }


    public void anyadirDescuento(Descuento dc) {
        listaDescuentos.add(dc);
    }

    public Descuento getDesc(int i) {
        return listaDescuentos.get(i);
    }

    public Descuento maxDescuento(VentaProxy venta) {
        Descuento d = listaDescuentos.get(0);
        Float porcen = d.obtenerDescuento(venta);
        for (int i = 1; i < listaDescuentos.size(); i++) {
            if (porcen < listaDescuentos.get(i).obtenerDescuento(venta)) {
                d = listaDescuentos.get(i);
            }
        }

        return d;
    }

    @Override
    public String aString() {

        String sal = "";
        for (int i = 0; i < listaDescuentos.size(); i++) {

            sal += listaDescuentos.get(i).aString() + "\n";

        }
        return sal;
    }
}
